/*
 * Diccionario.h
 *
 *  Created on: Jun 10, 2014
 *      Author: carlos
 */

#ifndef DICCIONARIO_H_
#define DICCIONARIO_H_

#include <map>
#include <string>
#include "../../../utils/StringUtils.h"
using namespace std;
class Diccionario {

public:
	Diccionario();
	virtual ~Diccionario();
	bool isInTable(string value);
	bool isInTableCode(int code);
	string getValue(int codigo);
	int getCodigo(string value);
	void showDictionary();
	void append(string value);
	int getSize();
private:
	void loadInitialTable();
private:
	int tamanio;
	//doble tabla para busquedas rapidas
	map<int,string> mydictionary;
	map<string,int> mydictionaryInverted;
};

#endif /* DICCIONARIO_H_ */
